﻿namespace DataMorph.Web.Services
{
    using System.Collections.Generic;

    using DataMorph.Common;
    using DataMorph.Common.Contracts;
    using DataMorph.Common.Entities;
    using DataMorph.Web.Models;

    public interface IDataMorphService
    {
        string GenerateData(string clientId, string storageAccountName, GenerationParameters generationParameters);

        string ProcessDataSet(string clientId, GenerationParameters parameters);

        void CancelTask(string taskId);

        IEnumerable<StorageAccountDetailsModel> GetStorageAccounts();

        IEnumerable<GenerationParametersModel> GetDataSets(string accountName);

        IEnumerable<ProcessingRecord> GetProcessingInstances(string storageAccount);
    }
}